# 使用 Node.js 18 官方镜像作为基础镜像
FROM node:18-alpine

# 设置工作目录
WORKDIR /app

# 复制 package.json
COPY package*.json ./

# 安装依赖
RUN npm install --legacy-peer-deps

# 复制源代码
COPY . .

# 创建非root用户以提高安全性
RUN addgroup -g 1001 -S nodejs && \
    adduser -S diyform -u 1001

# 更改文件所有权给非root用户
RUN chown -R diyform:nodejs /app

# 切换用户
USER diyform

# 暴露应用端口（假设您的应用使用3000端口）
EXPOSE 3000

# 启动应用
CMD ["npm", "start"]